const div1 = document.getElementById("div1");
// let timer = null;
// div1.addEventListener("drag", function (e) {
//   if (timer) {
//     return;
//   }
//   timer = setTimeout(() => {
//     console.log(e.offsetX, e.offsetY);
//     timer = null;
//   }, 100);
// });

//  正常写法下 会接受 event 参数
// div1.addEventListener("drag", function (event) {});

// 封装节流函数
function throttle(fn, delay = 500) {
  let timer = null;
  return function () {
    if (timer) {
      return;
    }
    timer = setTimeout(() => {
      // 这个 this 时 返回的这个函数的作用域
      fn.apply(this, arguments);
      timer = null;
    }, delay);
  };
}

div1.addEventListener(
  "drag",
  throttle(function (e) {
    console.log(e.offsetX, e.offsetY);
  }, 100)
);
